package com.nbcio.im.core.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.nbcio.im.core.ImGroup;
import com.nbcio.im.core.ImGroupMember;

import java.time.LocalDateTime;
import java.util.List;

/**
 * IM群组服务接口
 *
 * @author nbacheng
 */
public interface ImGroupService extends IService<ImGroup> {
    
    /**
     * 检查用户是否是群成员
     * @param groupId 群组ID
     * @param userId 用户ID
     * @return 是否是群成员
     */
    boolean isMember(String groupId, Long userId);
    
    /**
     * 获取用户加入群组的时间
     * @param groupId 群组ID
     * @param userId 用户ID
     * @return 加入时间
     */
    LocalDateTime getJoinTime(String groupId, Long userId);
    
    /**
     * 获取群组成员列表
     * @param groupId 群组ID
     * @return 群组成员列表
     */
    List<ImGroupMember> getGroupMembers(String groupId);
}